﻿/*
 * @Autor: PK
 * @Date: 2021/12/06 16:07:SS
 */

using ShkSimulation.core.dao.statistic;
using ShkSimulation.core.template.model;

namespace ShkSimulation.core.dao.output.result {
	
	public interface Result: Unique {
		
		ResultData TakeOutputData();
		
		void AppendData(string collectionKey, CollectionReportData data);
		
		CollectionReportData GetData(string collectionKey);
		
		bool ContainsData(string collectionKey);
		
		public static ResultData operator +(Result first, Result second) {
			ResultData twoData = first.TakeOutputData();
			return twoData + first;
		}
		
		public static ResultData operator +(ResultData first, Result second) {
			ResultData result = second.TakeOutputData();
			return first.AddResultData(result);
		}

	}
}